package pluginConvertisseur;
import java.util.Observable;

import javax.swing.table.TableModel;

import compatibilite.AExcelMiniControleur;
import compatibilite.AExcelMiniModele;
import compatibilite.AExcelMiniVue;

/**************
 * 
 * @author Axel
 *
 */
public class ControleurConvertisseur extends AExcelMiniControleur 
{
	public ControleurConvertisseur()
	{

	}

	@Override
	public void update(Observable arg0, Object arg1) {
		ModeleConvertisseur conv = (ModeleConvertisseur)arg0;
		VueConvertisseur v = (VueConvertisseur)vue;
		TableModel tm =	conv.getTableModel();
		String action = (String)arg1;
		if(action.equals("changement")){
			v.majListeSource(tm);
		}
		if(action.equals("convertir")){
			conv.convertirTableModel(tm);
		}	
		if(action.equals("converti")){
			v.majListeResultats(tm);
		}		
	}

	@Override
	public void lierModeleVue(AExcelMiniModele iemm, AExcelMiniVue iemv) {
		modeleBase = iemm;
		vue = iemv;
		listerModeleDansVue();
	}
	public void configurerModeleInterne(String categorie,String uniteO,String uniteR){
		modeleInterne = new ModeleConvertisseur();
		((ModeleConvertisseur)this.modeleInterne).setCategorie(categorie);
		((ModeleConvertisseur)this.modeleInterne).setUniteO(uniteO);
		((ModeleConvertisseur)this.modeleInterne).setUniteR(uniteR);
		modeleInterne.addObserver(this);
	}
	public void chargerModeleInterne(String action, TableModel liste){
		modeleInterne.majObserver(action, liste);
	}
	public void listerModeleDansVue(){
		((VueConvertisseur)vue).chargerCombos(((ModeleConvertisseur)this.modeleBase).getListeGenerale());
	}


}
